// 函数签名
function disp(a:string):void;

function disp(a:number):void;

// 函数实现，需要覆盖掉上面两种签名
// 使用any大法可以简单覆盖
function disp(a:any):void {
    console.log(a);
}

// 调用时，需要遵循函数的签名
disp("1");
disp(1);
// 报错
// disp(true);

// 不同参数个数的情况：
function calc(a:number):number;
function calc(a:number,b:number):number;

// 实现：需要覆盖掉1个或者2个参数的情况
// ?：表示参数可选择
function calc(a:number,b?:number):number {
    if (b) {
        return a * b;
    } else {
        return a * a;
    }
}